# 1.说明：
# 前面我们已经学习过了好几种类型的对象了，比如：整数类型对象、字符串类型对象、列表类型对象、元组类型的对象等等。
# 这些对象通常都拥有属于自己的方法（英文叫 method ），自己能使用，其他对象无法使用。

# 2.字符串对象的方法
# 2.1.count()
# 调用字符串的 count 方法，返回2，表示该字符串包含了两个 '我们'
str1 = '我们今天不去上学，我们去踢足球'
num = str1.count('我们')
print(num)

# 2.2.find()
# 返回 0 ， str1 字符串中有两个 '我们'，find返回的是第一个'我们'的索引 0
pos1 = str1.find('我们')
print(pos1)

# 第2个参数 5， 表示从 索引 5 的位置开始往后查找，返回的是后面'我们'的索引  9
pos2 = str1.find('我们', 5)
print(pos2)

# 2.2.split()
# split 方法以参数字符串为分割符 ，将字符串 切割为多个 字符串，作为元素存入一个列表，并返回这个列表
str2 = '小张：79 | 小李：88 | 小赵：83'
res1 = str2.split('|')
print(res1)

# 2.4.splitlines()
# 把字符串 按换行符 进行切割
salary = '''
小王  10000元
小李  20000元
小徐  15000元
'''
print(salary.splitlines())

# 2.5.join()
# join 是将列表中的字符串元素 以某字符串为连接符， 连接 为一个字符串
nameList = [
    '小张：79 ',
    ' 小李：88 ',
    ' 小赵：83'
]
res2 = '|'.join(nameList)
print(res2)

# 2.6.strip()
# strip 方法可以将 字符串前面和后面的空格删除，但是不会删除字符串中间的空格
res3 = '      小  李：88       '.strip()
print(res3)

# 2.7.lstrip()
# lstrip 方法 将 字符串前面 (左边) 的空格删除，但是不会删除字符串中间和右边的空格
res4 = '      小  李：88       '.lstrip()
print(res4)

# 2.8.rstrip()
# rstrip 方法 将 字符串后面 (右边) 的空格删除，但是不会删除字符串中间和左边的空格
res5 = '      小  李：88       '.rstrip()
print(res5)

# 2.9.replace()
# replace 也是常用的方法，用来 替换 字符串里面 所有指定的 子字符串 为另一个 字符串
str3 = '我们今天不去上学，我们去踢足球'
str3 = str3.replace('我们', '他们')
print(str3)

# 2.10.startswith()
# startswith 方法检查字符串是否以参数指定的字符串 开头，如果是，返回 True，否则返回 False
str4 = '我们今天不去上学，我们去踢足球'
str4.startswith('我们')  # 返回 True

# 2.11.endswith()
# endswith 方法检查字符串是否以指定的字符串 结尾，如果是，返回True，否则返回False
str5 = '我们今天不去上学，我们去踢足球'
str5.endswith('我们')    # 返回 False

# 2.12.isdigit()
# isdigit 方法检查字符串是否全部由数字构成，如果是，返回True，否则返回False
str6 = '111111111111111'
print(str6.isdigit())

# 2.13.字符串的倒序
# 要得到一个字符串的 倒序字符串，只需要使用切片操作 [::-1]
# :: 表示切片字符串的从头到尾，也就是全部内容， 而 步长 为 -1 表示，颠倒过来取元素
str7 = '字符串的倒序'
reverse = str7[::-1]
print(reverse)

